import {
  rules
} from './ruls.js'
import {
  title
} from './title.js'
import {
  getSchool,
  getBank
} from '@/api/basic'
export const mixins = {
  data() {
    return {
      post: {
        school_id: getSchool, // 选择学校
        bank_id: getBank // 选择银行
      },
      arr: [
        'education_id', // 学历查询
        'nation_id', // 民族
        'marital_id', // /婚姻
        'politic_id', // 政治面貌
        'department_id', // 获取部门
        'position_id', // 获取职位
        'room_id' // 房间
      ],
      list: [], // 需要被上传的列表
      action: '', // 图片上传地址
      title: title, // 显示的内容和
      rules: rules, // 验证的规则
      form: {
        // 输入框
        identity_card_front: '', // 身份证正面
        identity_card_reverse: '', // 身份证反面
        one_inch_photo: '', // 一寸照
        name: '', // 姓名
        phone: '', // 手机号
        password:'',//员工默认密码
        family_phone: '', // 家庭电话
        age: '', // 年龄
        present_address: '', // 现住地址
        email: '', // 邮箱
        identity_card: '', // 身份证号
        height: '', // 身高
        weight: '', // 体重
        major: '', // 所学专业 否
        speciality: '', // 特长 否
        practice_salary: '', // 实习薪资 否
        regular_salary: '', // 转正薪资 否
        current_salary: '', // 当前薪资
        resume_attachment: '', // 简历附件 否
        labor_contract: '', // 劳动合同
        physical_examination: '', // 体检记录电子版	 否
        entry_mode: '', // 入职方式
        bank_card: '', // 银行卡号
        professional_title: '', // 职称 否
        // 图片上传
        labor_contract_start: '', // 劳动合同开始日期
        labor_contract_end: '', // 劳动合同结束日期
        no: '', // 工号
        computer_power: '', // 电脑能力
        social_insurance: '', // 社保编号 否
        hobby: '', // 特长
        temporary_residence_permit: '', // 暂住证电子版 否
        present_residence: '', // 现居住地 否
        description: '', // 描述 否
        // //日期
        birthday_at: '', // 出生日期
        identity_card_at: '', // 身份证有效期
        graduation_at: '', // 毕业时间
        entry_at: '', // 入职日期
        practice_start_at: '', // 实习开始时间 否
        practice_end_at: '', // 实习结束时间 否
        regular_at: '', // 转正时间 否
        // //下拉点击选择
        education_id: '', // 学历id
        nation_id: '', // 民族id
        marital_id: '', // 婚姻状态id
        registered_residence: '', // 户口性质
        education_nature: '', // 学历性质
        school_id: '', // 学校id
        bank_id: '', // 所属银行id
        politic_id: '', // 政治面貌
        position_id: '', // 职位id
        department_id: '', // 部门id
        leader_id: '', // 领导id
        room_id: '', // 所属房间id 否
        identity: '', // 员工身份 0正式 1实习 2试用
        certificate: '', // 是否有证 否 1有证 0无证
        gender: '', // 性别
        domicile_id: '', // 户籍地id
        // introducer_id:'',//介绍人id
        // //json
        emergency_contact: {
          name: '',
          phone: '',
          relation: ''
        }, // 紧急联系人
        certificate_list:[]//证书列表
        // work_experience: "", //工作经历
        // education_experience: "", //教育经历
        // family_situation: "", //家庭状况
        // //对象格式
      }, // 需要上传的表单
      pickerOptions: {
        // 禁用时间
        disabledDate(time) {
          return false
        },
        shortcuts: [{
          text: '明天',
          onClick(picker) {
            const date = new Date()
            date.setTime(date.getTime() + 3600 * 1000 * 24)
            picker.$emit('pick', date)
          }
        },
        {
          text: '今天',
          onClick(picker) {
            picker.$emit('pick', new Date())
          }
        },
        {
          text: '昨天',
          onClick(picker) {
            const date = new Date()
            date.setTime(date.getTime() - 3600 * 1000 * 24)
            picker.$emit('pick', date)
          }
        },
        {
          text: '前天',
          onClick(picker) {
            const date = new Date()
            date.setTime(date.getTime() - 3600 * 1000 * 24 * 2)
            picker.$emit('pick', date)
          }
        },
        {
          text: '一周前',
          onClick(picker) {
            const date = new Date()
            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
            picker.$emit('pick', date)
          }
        }
        ]
      }
    }
  },
  methods: {
    exceed(){
      this.$message.error('超出可上传最大量')
    },
    initData() {
      this.arr.forEach(name => {
        console.log(name)
        const list = this.$store.state.app[name]
        if (list) {
          this.title[name].options = list
        } else {
          this.$store.dispatch('app/getFoundation', name).then(res => {
            this.$nextTick(() => {
              this.title[name].options = res
            })
          })
        }
      })
    },
    assignment(value) {
      Object.keys(value).forEach(item => {
      })
    },
    // 根据生日计算年龄
    getAge(val) {
      const currentYear = new Date().getFullYear() // 当前的年份
      const calculationYear = new Date(val).getFullYear() // 计算的年份
      const wholeTime = currentYear + val.substring(4) // 周岁时间
      const calculationAge = currentYear - calculationYear // 按照年份计算的年龄
      // 判断是否过了生日
      if (new Date().getTime() > new Date(wholeTime).getTime()) {
        return calculationAge
      } else {
        return calculationAge - 1
      }
    },
    // 限制文件上传
    beforeUpload(file) {
      const isLt2M = file.size / 1024 / 1024 <= 2
      if (!isLt2M) {
        this.$message.error('图片大小不能超过 2MB!')
      }
      return isLt2M
    },
    beforeAvatarUpload(file) {
      const isJPG = file.type === 'image/jpeg'
      const isPNG = file.type === 'image/png'
      const isLt2M = file.size / 1024 / 1024 <= 2
      if (!isJPG && !isPNG) {
        this.$message.error('图片只能是 JPG 或 PNG 格式!')
      }
      if (!isLt2M) {
        this.$message.error('图片大小不能超过 2MB!')
      }
      return isJPG || (isPNG && isLt2M)
    }
  },
  created() {
    this.initData()
    let newSet = new Set(Object.keys(this.form))
    newSet.delete('certificate_list')
    this.list = [...newSet]
    // newArr => ['a','c','d']
    this.action = process.env.VUE_APP_UPLOAD + 'api/v1/upload/file'
  }
}
